﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace CruzDelSur.Models
{
    public class AprobarRecursoFormModel
    {
        //Campos del formulario Aprobar Recursos
        //Campo Seleccione tipo de recurso
        public int TipoRecurso { get; set; }
        private List<ComboModel> TiposRecursos;
        //Grilla de datos
        public IList<AprobarRecursoDetalleModel> Detalle { get; set; }
        public string BotonAplicar { get { return "Aplicar"; } }
        public string BotonAprobar { get { return "Aprobar recursos seleccionados"; } }
        public string BotonSubmit { get; set; }
        
        public AprobarRecursoFormModel()
        {

        }

        public AprobarRecursoFormModel(int tipoRec)
        {
            //Iniciando tipo de Recurso por defecto
           TipoRecurso = tipoRec;
            //Iniciando lista de valores del combo
           TiposRecursos = new List<ComboModel>();
           TiposRecursos.Add(new ComboModel { Value = 1, Text = "Tripulacion" });
           TiposRecursos.Add(new ComboModel { Value = 2, Text = "FlotaPasajero" });
           TiposRecursos.Add(new ComboModel { Value = 3, Text = "FlotaCarga" });
           Detalle = new List<AprobarRecursoDetalleModel>();
        }
        
        public SelectList ComboTipoRecurso {
            get { 
                return new SelectList(TiposRecursos, "Value", "Text", TipoRecurso);
            }
        }
        /// <summary>
        /// Metodo para agregar un Item al detalle a través de la controladora o
        /// capa de negocio
        /// </summary>
        /// <param name="codigo"></param>
        /// <param name="desc"></param>
        /// <param name="tipo"></param>
        /// <param name="check"></param>
        public void agregarItem(string codigo, string desc, int tipo, bool check)
        {
            string tipoRec = TiposRecursos[tipo - 1].Text;
            Detalle.Add(new AprobarRecursoDetalleModel
            {
                Codigo1 = codigo,
                Codigo2 = codigo,
                Descripcion = desc,
                Tipo = tipoRec,
                Marcado = check
            });
        }
    }
    /// <summary>
    /// Modelo para mostrar un Item del Detalle de la grilla
    /// </summary>
    public class AprobarRecursoDetalleModel
    {
        public string Codigo1 { get; set; }
        public string Codigo2 { get; set; }
        public string Descripcion { get; set; }
        public string Tipo { get; set; }
        public bool Marcado { get; set; }
    }
    
}